def signal(*args):
    df = args[0]
    n = args[1]
    factor_name = args[2]


    df['A'] = abs(df['close'] - df['open'])
    df['B'] = df['high'] - df['low']
    df['WVAD'] = df['A'] / df['B'] * df['quote_volume']

    df[factor_name] = df['WVAD'].rolling(n, min_periods=2).std()

    del df['A']
    del df['B']
    del df['WVAD']

    return df


def get_parameter():
    param_list = []
    n_list = [5, 8, 13, 21, 34, 55]
    for n in n_list:
        param_list.append(n)

    return param_list

